package org.deadline.service.baseapp;

import java.util.List;
import org.deadline.model.baseapp.UserPreference;
import org.deadline.repository.baseapp.UserPreferenceRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;


@Service
@Transactional
public class UserPreferenceServiceImpl implements UserPreferenceService {

	@Autowired
    UserPreferenceRepository userPreferenceRepository;

	public long countAllUserPreferences() {
        return userPreferenceRepository.count();
    }

	public void deleteUserPreference(UserPreference userPreference) {
        userPreferenceRepository.delete(userPreference);
    }

	public UserPreference findUserPreference(Long id) {
        return userPreferenceRepository.findOne(id);
    }

	public List<UserPreference> findAllUserPreferences() {
        return userPreferenceRepository.findAll();
    }

	public List<UserPreference> findUserPreferenceEntries(int firstResult, int maxResults) {
        return userPreferenceRepository.findAll(new org.springframework.data.domain.PageRequest(firstResult / maxResults, maxResults)).getContent();
    }

	public void saveUserPreference(UserPreference userPreference) {
        userPreferenceRepository.save(userPreference);
    }

	public UserPreference updateUserPreference(UserPreference userPreference) {
        return userPreferenceRepository.save(userPreference);
    }
}
